//package com.woniuxy.utils;
//
//import com.fasterxml.jackson.annotation.JsonIgnore;
//import com.woniuxy.entitys.SysUser;
//import lombok.Data;
//import org.springframework.security.core.GrantedAuthority;
//import org.springframework.security.core.authority.SimpleGrantedAuthority;
//import org.springframework.security.core.userdetails.UserDetails;
//
//import java.util.ArrayList;
//import java.util.Collection;
//import java.util.List;
//
//@Data
//public class LoginUser implements UserDetails {
//    private SysUser sysUser;
//    private String token;
//    private Long loginTime;
//    private Long expireTime;
//    private List<String> permissions;
//    private List<String> roles;
//    @Override
//    @JsonIgnore
//    public Collection<? extends GrantedAuthority> getAuthorities() {
//
//        List<SimpleGrantedAuthority> list = new ArrayList<SimpleGrantedAuthority>();
//        if (permissions != null) {
//            for (String permission : permissions) {
//                list.add(new SimpleGrantedAuthority(permission));
//            }
//        }
//        if (roles != null) {
//            for (String role : roles) {
//                list.add(new SimpleGrantedAuthority("ROLE_" + role));
//            }
//        }
//        return list;
//    }
//
//    @Override
//    @JsonIgnore
//    public String getPassword() {
//        return sysUser.getPassword();
//    }
//
//    @Override
//    @JsonIgnore
//    public String getUsername() {
//        return sysUser.getTelephone();
//    }
//
//    @Override
//    @JsonIgnore
//    public boolean isAccountNonExpired() {
//        return true;
//    }
//
//    @Override
//    @JsonIgnore
//    public boolean isAccountNonLocked() {
//        return true;
//    }
//
//    @Override
//    @JsonIgnore
//    public boolean isCredentialsNonExpired() {
//        return true;
//    }
//
//    @Override
//    @JsonIgnore
//    public boolean isEnabled() {
//        return true;
//    }
//}
